/* Used to make sure files are only brought in once */
#ifndef TEXTURES_H
#define TEXTURES_H

#ifdef WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#endif

#include <iostream>
#include <cstdlib>

#ifdef __APPLE__
#include <GLUT/glut.h>
#else
//#include <SUPERBIBLE/gltools.h>
#include <GL/gl.h>
#include <GL/glut.h>
#endif

#include <vector>

using namespace std;


#define TEXTURE_CUEBALL 0
#define TEXTURE_FIRST_BALL 1 // there will be 15 of these (1 through 15)
#define TEXTURE_SHADOW 16
#define TEXTURE_TABLE_SIDES 17
#define TEXTURE_CORNER_POCKET 18
#define TEXTURE_SIDE_POCKET 19
#define TEXTURE_WOOD 20
#define TEXTURE_COUNT 21


class Textures
{
public:
   Textures();
   void load();
   void useTexture(int);

protected:
   vector<GLuint> textures;
   GLuint loadTexture(char*);
   char *textureFiles[TEXTURE_COUNT];

};

#endif
